package com.example.shangjiba;

import androidx.lifecycle.LiveData;
import androidx.lifecycle.MutableLiveData;
import androidx.lifecycle.ViewModel;

import java.util.ArrayList;
import java.util.List;

/**
 * Home页面的ViewModel，用于管理列表数据
 */
public class HomeViewModel extends ViewModel {
    
    private MutableLiveData<List<NewsItem>> newsListLiveData;
    
    public HomeViewModel() {
        newsListLiveData = new MutableLiveData<>();
        loadData();
    }
    
    public LiveData<List<NewsItem>> getNewsListLiveData() {
        return newsListLiveData;
    }
    
    /**
     * 加载数据
     */
    public void loadData() {
        List<NewsItem> newsList = generateNewsData();
        newsListLiveData.setValue(newsList);
    }
    
    /**
     * 刷新数据
     */
    public void refreshData() {
        // 模拟刷新延迟
        new Thread(() -> {
            try {
                Thread.sleep(1000);
                // 在子线程中使用postValue而不是setValue
                List<NewsItem> newsList = generateNewsData();
                newsListLiveData.postValue(newsList);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }).start();
    }
    
    /**
     * 生成新闻数据
     */
    private List<NewsItem> generateNewsData() {
        List<NewsItem> newsList = new ArrayList<>();
        
        // 模拟数据
        newsList.add(new NewsItem(
                "科技新闻：人工智能的最新进展",
                "AI技术在各个领域取得突破性进展",
                "人工智能技术在医疗、教育、金融等多个领域取得了突破性进展。最新的研究表明,深度学习算法在图像识别和自然语言处理方面的准确率已经超过95%。专家预测，未来五年内，AI将深刻改变我们的生活方式。",
                "2025-10-22 10:30"
        ));
        
        newsList.add(new NewsItem(
                "体育快讯：国足取得重要胜利",
                "中国男足在关键比赛中获胜",
                "在昨晚进行的世界杯预选赛中，中国男足凭借出色的表现，以2:1战胜对手，取得了本届赛事的首场胜利。球迷们欢呼雀跃，对国足的表现给予了高度评价。",
                "2025-10-22 09:15"
        ));
        
        newsList.add(new NewsItem(
                "财经动态：股市迎来新一轮上涨",
                "多个板块集体上涨，市场信心增强",
                "今日A股市场表现强劲，上证指数上涨2.3%，深证成指上涨3.1%。科技股、新能源板块领涨，市场成交量明显放大。分析师认为，这是市场对经济复苏预期的积极反应。",
                "2025-10-22 08:45"
        ));
        
        newsList.add(new NewsItem(
                "娱乐头条：热门电影票房破纪录",
                "国产科幻片创造新的票房纪录",
                "最新上映的国产科幻大片在首周末就取得了8亿元的票房成绩，打破了多项纪录。影片凭借精良的制作和感人的故事，赢得了观众的一致好评，被誉为中国科幻电影的里程碑之作。",
                "2025-10-21 20:00"
        ));
        
        newsList.add(new NewsItem(
                "教育资讯：新政策助力学生减负",
                "教育部出台多项措施减轻学生负担",
                "教育部近日发布了一系列新政策，旨在减轻中小学生的课业负担。政策包括限制作业时长、规范校外培训、优化考试评价体系等。家长和教师普遍对这些措施表示欢迎。",
                "2025-10-21 16:30"
        ));
        
        newsList.add(new NewsItem(
                "健康生活：秋季养生小贴士",
                "专家分享秋季保健知识",
                "随着秋季的到来，气温逐渐下降，空气变得干燥。医学专家建议，秋季养生应注意补充水分，多吃滋润的食物如梨、蜂蜜等，同时要适度运动，增强体质，预防秋季常见疾病。",
                "2025-10-21 14:00"
        ));
        
        newsList.add(new NewsItem(
                "旅游推荐：国庆黄金周热门景点",
                "全国各地迎来旅游高峰",
                "国庆黄金周期间，全国各大景点迎来大批游客。据统计，今年黄金周期间，国内旅游人数预计将超过6亿人次。热门景点包括故宫、长城、西湖等传统景点，以及各地的新兴旅游目的地。",
                "2025-10-21 11:20"
        ));
        
        newsList.add(new NewsItem(
                "美食推荐：秋季时令美食大盘点",
                "品味秋天的味道",
                "秋季是丰收的季节，各种时令美食纷纷上市。螃蟹、柿子、板栗、南瓜等都是这个季节的代表性食材。美食专家为大家推荐了多种秋季特色菜肴，让您在品尝美味的同时，感受秋天的气息。",
                "2025-10-20 18:00"
        ));
        
        return newsList;
    }
}
